package com.project.service;

import com.project.bean.BuyCartBean;
import com.project.bean.ProductBean;

import java.util.List;

/**
 * 购物车业务接口
 */
public interface IBuyCartService {
    /**
     * 1、判断操作类别是否为add，如果是，完成库存商品添加，库存数量默认为0
     * 2、添加商品信息到采购车，判断采购车是否存在该商品，如果存在，将采购商品数量累加。如果不存在，添加采购车的商品。
     *
     * @param product 商品对象
     * @param userId  用户id
     * @param buyNum  采购数量
     */
    public void addBuyCart(ProductBean product, Integer userId, Integer buyNum);

    /**
     * 根据登录用户id，查询采购物品信息集合，同时查询采购商品的编号、名称、品牌。
     *
     * @param userId 登录用户id
     * @return 采购车商品集合
     */
    public List<BuyCartBean> findBuyCartByUserId(Integer userId);

    /**
     * 根据采购车id，修改采购价
     *
     * @param buyCartId   采购车id
     * @param newBuyPrice 新采购价
     */
    public void updateBuyPrice(Integer buyCartId, Integer newBuyPrice);

    /**
     * 根据采购车id，修改采购数量
     *
     * @param buyCartId 采购车id
     * @param newBuyNum 新采购数量
     */
    public void updateBuyNum(Integer buyCartId, Integer newBuyNum);

    /**
     * 根据采购车id，移除采购物品
     *
     * @param buyCartId 采购车id
     */
    public void delBuyCart(Integer buyCartId);

    /**
     * 1.添加采购订单
     * 2、根据用户id，查询采购车集合
     * 3、批量添加采购明细；同时，累加库存商品数量，更新最新采购价
     * 4、清空采购车
     *
     * @param userId 销售员用户id
     * @param sName  供应商名称
     */
    public void in(Integer userId, String sName);

}
